# [1, 2, 3, "str111","asdasd","qwdsa3d165",1,2,3,"asdqw","小天才","QA"]
list1 = [1, 2, 3, "str111","asdasd","qwdsa3d165",1,2,3,"asdqw","小天才","QA"]
list2 = []
# 1、删除列表里所有字符串对象
# for i in list1:
#     if type(i) != str:
#         list2.append(i)
# print(list2)
# 2、删除列表中重复的元素
# for i in list1:
#     if i not in list2: # 如果 列表1里面的元素没有在列表2中出现
#         list2.append(i) # 那么就把他加进去
# print(list2)
# 3、l1 = [1, 2, 3, 4, 5]
l1 = [1, 2, 3, 4, 5]
# （1）在l1的元素3后面插入300
# l1.insert(3,300)
# print(l1)
# （2）删除元素2
# l1.remove(2)
# print(l1)
# （3）将5更改为500
# l1[-1] = 500
# print(l1)
# （4）将2，3，4切片出来
# l2 = l1[1:4]
# print(l2)
# print(l1[:])


# （5）l1[-3:-5]的结果
# print(l1[-3:-5:-1])
# （6）l1[-3:]的结果
# print(l1[-3:])
#  2. 通过input引导用户输入一个姓名，判断该姓名是否存在于列表names中
# names = ["xi","eric","alvin","george"]

#===================第一种方式=============================
# name = input("请输入姓名")
# if name in names:
#     print(f"您输入的{name}，存在列表中的第{names.index(name) + 1}位置")
# elif name not in names:
#     print(f"您输入的{name}不在列表中")

# ================第二种方式================================
# for i in range(len(names)):
#     if names[i] == name:
#         print(f"列表中存在用户输入的姓名，在第{i+1}位置")
#         break
# if name not in names:
#     print(f"您输入的{name}不在列表中")



# 4、l = [1,2,3,[4,5]]
# （1）将4修改为400
l = [1,2,3,[4,5]]
# ==============第一种===============
# l[3][0] = 400
# print(l)
# ==============第二种===============
# l[-1][0] = 400
# print(l)
# （2）在l的[4，5]列表中追加一个6，即使l变为[1,2,3,[4,5,6]]
# l[-1].append(6)
# print(l)

# 5、'''小明去超市购买水果，账单如下
# 苹果  32.8
# 香蕉  22
# 葡萄  15.5
# 请将上面的数据存储到字典里，可以根据水果名称查询购买这个水果的费用
# 很简单哦，用水果名称做key，金额做value，创建一个字典
# '''
dict1 = {"苹果":32.8,"香蕉":22,"葡萄":15.5}
# name = input("请输入水果")
# if name in dict1:
#     print(f"{name}价格为：{dict1[name]}")
# else:
#     print(f"水果不存在")

# print("苹果价格为：{}".format(dict1['苹果']))
# print("苹果价格为：{}".format(dict1['香蕉']))
# print("苹果价格为：{}".format(dict1['葡萄']))
# 6、dic = {
#     'python': 95,
#     'java': 99,
#     'c': 100
# }
# 字典的长度是多少
dic = {
    'python': 95,
    'java': 99,
    'c': 100
}
# print(len(dic))

# 请修改'java' 这个key对应的value值为98
dic['java'] = 98
# 删除 c 这个key
del dic['c']
# 增加一个key-value对，key值为 php, value是90
dic.update({'php':90})
# 获取所有的key值，存储在列表里
key_list = [i for i in dic.keys()]
# print(key_list)
# 获取所有的value值，存储在列表里
value_list = [i for i in dic.values()]
# print(value_list)
# 判断 javascript 是否在字典中
# if "javascript" in dic:
#     print("javascript存在字典里")
# else:
#     print("javascript不存在字典里")

# 获得字典里所有value 的和
sum = 0 # 计算所有数的和
for i in value_list: # 遍历字典中全部的value
    sum+=i # 每个value逐一的和计算和的变量相加   sum = sum+i

print(f"所有value的和{sum}")
# 获取字典里最大的value
print(dic)
# max1 = 0
# for i in value_list:
#     if max1 < i:
#         max1 = i
# print(f"字典中最大的value是{max1}")


# 获取字典里最小的value
# min1 = value_list[0]
# for i in value_list:
#     if min1 > i:
#         min1 = i
# print(f"字典中最小的value是{min1}")


# 字典 dic1 = {'php': 97}， 将dic1的数据更新到dic中
# dic1 = {'php': 97}
# dic.update(dic1)
# print(dic)

# list1 = [12,45,78,12,45,78,12,77,99,53,6,93]
# 7、将重复的列表值加到一个新的字典里，key为数字，value为出现的次数
list1 = [12,45,78,12,45,78,12,77,99,53,6,93]
result_dict = {}
for i in list1:
    if list1.count(i) > 1: # 如果说列表中的某个数出现的次数大于1，算重复数字
        result_dict.update({i:list1.count(i)}) #  把数字当作key，value为重复数字出现的次数
print(result_dict)

# 8、求出列表里最大的数是多少（不允许用sort等其他内置函数去做）,以及这个数所在的索引位置
max2 = list1[0]
for i in range(len(list1)):
    if max2 < list1[i]:
        max2 = list1[i]
print(f"最大数为{max2}，对应索引位置为：{list1.index(max2)}")

